package com.scuec.groupfive.service;

import com.scuec.groupfive.entity.UserInfo;

public interface UserproService {

    /**
     * 根据用户ID获取用户信息
     * @param id 用户ID
     * @return 用户信息
     */
    public UserInfo getUserInfoById(Integer id);


    /**
     * 根据邮箱获取用户信息
     * @param email 用户邮箱
     * @return 用户信息
     */
    public UserInfo getUserByEmail(String email);

    /**
     * 更新用户完整信息
     * @param userInfo 用户信息对象
     * @return 更新影响的行数
     */
    public Integer updateUserInfo(UserInfo userInfo);

    /**
     * 更新用户基本资料（不包括用户名和密码）
     * @param userInfo 用户信息对象
     * @return 更新影响的行数
     */
    public Integer updateUserProfile(UserInfo userInfo);

    /**
     * 更新用户密码
     * @param userInfo 用户信息对象（只需要userId和新密码）
     * @return 更新影响的行数
     */
    public Integer updateUserPassword(UserInfo userInfo);

    /**
     * 更新用户最后登录时间
     * @param userId 用户ID
     * @return 更新影响的行数
     */
    public Integer updateLastLoginTime(Integer userId);
    /**
     * 根据用户ID删除用户
     * @param userId 用户ID
     * @return 删除影响的行数
     */
    public Integer deleteUserById(Integer userId);
}